Charts are often included in documents to ease understanding of large quantities of data and the relationships between parts of the data. Users are increasingly using web applications for performing tasks, such as for generating or editing documents including charts, and have an increasing expectation for a seamless user experience among desktop and web applications. For example, users expect to manipulate charts in a browser similarly to how they can within a local client application, and further expect a user interface that is responsive.
As can be appreciated, performing layout of a chart via a web client consumes a significant amount of machine resources and decreases computer performance, particularly as the data size grows or as the number of chart features increases. To implement interactive charts in a browser, a data structure is needed to effectively and efficiently capture and communicate the information needed to display, animate, and interact with the chart.